The present invention relates to a posture information calculation device, a posture information calculation system, a posture information calculation method, and an information storage medium.
A system that calculates the posture of an object using an inertial sensor has been utilized for various applications. For example, a system that stably controls the posture of a moving object (e.g., automobile or helicopter) has been implemented by providing triaxial angular velocity sensors and triaxial acceleration sensors in the moving object, and calculating the posture of the moving object based on information obtained from the sensors.
The posture of an object can be normally specified by the posture angle and the position of the object. The posture angle of the object is obtained by performing a first-order integration process on the angular velocity vector detected by the triaxial angular velocity sensors. However, a small offset is included in the value output from the triaxial angular velocity sensors, and gradually accumulated by performing a first-order integration process on the angular velocity vector. Therefore, an error of the true posture angle with respect to the calculated posture angle gradually increases in proportion to the offset, so that a result is obtained whereby the object rotates by a small angular velocity even if the object is stationary. In order to solve the above problem, JP-A-9-5104 and JP-A-2007-183138 disclose a method that estimates the true value of the posture angle from the sensor output value using a Kalman filter.
The position of the object is obtained by performing a second-order integration process on the acceleration vector detected by the triaxial acceleration sensors. A small offset is also included in the value output from the triaxial acceleration sensors, and gradually accumulated, so that a result is obtained whereby the object moves even if the object is stationary. Moreover, since a second-order integration process is performed on the acceleration vector, the error increase rate of the calculated position with respect to the true position is proportional to the second power of the offset (i.e., higher than the error increase rate of the posture angle). Therefore, it is necessary to increase the Kalman gain in order to estimate the true value of the position using the Kalman filter. However, when the Kalman gain is increased to a large extent, a calculation result is obtained whereby the object is stationary even if the object moves slowly, since the calculated position of the object is too rapidly returned to the true position. In particular, it is necessary to increase the Kalman gain as the offset of the sensor relatively increases. Therefore, it is very difficult to estimate the position of an object using the Kalman filter merely based on the output value of the acceleration sensor.
In order to solve the above problem, the position of the object has been estimated from the output value of the acceleration sensor and given information obtained from the outside. For example, information about the relative positional relationship between an object and an infrared emitting device can be obtained by providing the infrared emitting device at a predetermined position, and imaging the infrared emitting device using a CCD camera secured on the object. In this case, the true value of the position of the object can be estimated using the Kalman filter based on the resulting information. However, since this method requires an apparatus other than the sensor, the size of the system increases.
For example, when operating a virtual 3D model using a pointing device, the strict position of the virtual 3D model need not be necessarily calculated insofar as the position of the virtual 3D model does not diverge with time, and the virtual 3D model moves to follow the movement of the pointing device. Since a reduction in cost is required for such a system, it is not desirable to increase the system size (scale).